#include <iostream>

class Person2 {
public:
    int age; // 非静态成员变量 属于类的对象上
    static int staticA; // 静态成员变量 不属于类对象上

    /**
    * 多个实例对象， 非静态成员的方法，只会诞生一份实例，也就是说多个同类型的对象会公用一块代码
    */
    void func() { // 非静态成员函数，不属于类对象上

    }


    static void func2() { // 静态成员函数 不属于类的对象上

    }
};

int Person2::staticA = 20;

void test01() {
    Person2 p;
    // 空对象占用内存空间为：1
    // C++编译器会给每个空对象也分配一个字节空间，是为了区分空对象占内存的位置
    // 每个空对象也应该有一个独一无二的内存地址
    std::cout << sizeof p<< std::endl;
}

void test02() {
    Person2 p;
    std::cout << sizeof p<< std::endl;
}

int main() {

//    test01();
    test02();

    return 0;
}

